//
// Created by Jisam on 28/09/2024 11:53 PM.
// Solution of  求区间和
// 2024-09-28 23:58:12 AC 100 前缀和
#include <bits/stdc++.h>

#define  int long long
using namespace std;
// 定义一个常量MAXN，用于限定数组的最大大小
const int MAXN = 1e5 + 5;
// 定义数组a，用于存储原始输入的整数序列
int a[MAXN];
// 定义数组b，用于存储a数组的前缀和，即b[i]表示从a[1]到a[i]的累加和
int b[MAXN];

signed main() {
    cin.tie(nullptr)->sync_with_stdio(false);

    // 读取整数n，表示原始序列的长度
    int n;
    cin >> n;

    // 读取并计算原始序列a的前缀和，存储在数组b中
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        b[i] = a[i] + b[i - 1];
    }

    // 读取整数m，表示需要查询的区间数量
    int m;
    cin >> m;

    // 处理m次区间查询
    for (int i = 0; i < m; i++) {
        // 读取区间端点x和y，表示查询从x到y的区间和
        int x, y;
        cin >> x >> y;
        // 根据前缀和数组b，计算并输出区间[x, y]的和
        cout << b[y] - b[x - 1] << "\n";
    }

    return 0;
}
